var wShareFn = {};
wShareFn.Focus = {
    init: function (args) {
        /*this.ele = arg.ele;            //挂载 dom 节点
        this.opt = arg.opt;            //需要隐藏的分享项的索引，从 0 开始
        this.title = arg.title || document.title;
        this.url = arg.url || window.location.href;
        this.desc = arg.desc || '';
        this.img = arg.img || '';*/
        this.config(args);
        this.args =args;
        this.start();
        return this;
    },
    args:{},
    start: function () {
        var t = this;

        Zepto(document).on('click', t.ele, function () {
            var buttonsOp = [
                {
                    text: '<i class="icon iconfont icon-icon3" style="font-size: .96rem;"></i> QQ空间',
                    onClick: function () {
                        // 点击后回调
                        t.opQQ();
                    }
                },
                {
                    text: '<i class="icon iconfont icon-winxin" style="font-size: .96rem;" data-mshare="2"></i> 微信',
                    onClick: function () {
                        // 点击后回调

                        //t.opWx('<i class="icon iconfont icon-winxin" style="font-size: .96rem;" data-mshare="2"></i>');
                        if(isWeiXin()){
                            t.opWx(t.args);
                            Zepto('#prompt').css("display","block").click(function () {
                                Zepto(this).css("display","none");
                                Zepto('body').css('overflow', 'inherit')
                            });
                            Zepto('body').css('overflow', 'hidden')
                        }else{
                            Zepto('#prompt1').css("display","block").click(function () {
                                Zepto(this).css("display","none");
                                Zepto('body').css('overflow', 'inherit')
                            });
                            Zepto('body').css('overflow', 'hidden')
                        }

                    }
                },
                {
                    text: '<i class="icon iconfont icon-pengyouquan" data-mshare="1"></i> 朋友圈',
                    onClick: function () {
                        // 点击后回调
                        t.opFr('<i class="icon iconfont icon-pengyouquan" data-mshare="1"></i>');
                    }
                },
                {
                    text: '<i class="icon iconfont icon-liwu"></i> 分享海报',
                    onClick: function () {
                        // 点击后回调
                        t.opYq();
                    }
                },
                {
                    text: '<i class="icon iconfont icon-tupian" style="font-size: .96rem;"></i> 生成长图',
                    onClick: function () {
                        // 点击后回调
                        t.opCt();
                    }
                }
            ];
            var buttonsCa = [
                {
                    text: '<small class="fs7">取消分享<small>'
                }
            ];
            var groups = [buttonsOp, buttonsCa];
            Zepto.actions(groups);

            Zepto('.actions-modal.modal-in').addClass('wShare__wrap');

            if(t.opt != '' && t.opt != undefined) {
                var _opt = t.opt.split(' ');
                _opt.forEach(function (value, index, array) {
                    Zepto('.wShare__wrap > .actions-modal-group:first-child > .actions-modal-button').eq(value).hide();
                });

                var length = 0;
                $('.wShare__wrap > .actions-modal-group:first-child > .actions-modal-button').each(function() {
                    if ($(this).css('display') != 'none') {
                        length += 1;
                    }
                });


                if (length != 0) {
                    var width = Zepto('.wShare__wrap > .actions-modal-group:first-child').width();
                    Zepto('.wShare__wrap > .actions-modal-group:first-child > .actions-modal-button').css('width', width / length);
                }

            }
            t.addShareTips();
        });
        if(t.args.reset==undefined||t.args.reset==null||t.args.reset=='') {
            if (isWeiXin()) {
                //初始化微信分享
                wxShare(t.args);
            }
        }

    },
    opQQ: function () {    //选择qq

        var p = {
            url: this.url,
            showcount: '0', /*是否显示分享总数,显示：'1'，不显示：'0' */
            desc: this.desc, /*默认分享理由(可选)*/
            title: this.title, /*分享标题(可选)*/
            pics: this.img, /*分享图片的路径(可选)*/
            style: '203',
            width: 98,
            height: 22
        };
        var s = [];
        for (var i in p) {
            s.push(i + '=' + encodeURIComponent(p[i] || ''));
        }
        window.open('http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?' + s.join('&'));
    },
    opWx: function (obj) {    //选择wx
        //判断是否需要从新初始化微信分享
        if(obj.reset!=undefined&&obj.reset!=null&&obj.reset!=""&&obj.reset){
            this.initialWeChatShare(obj);
        }
    },
    opFr: function (obj) {    //选择pf
        var share = new mShare({
            title : this.title,
            url : this.url,
            desc : this.desc,
            img : this.img
        });
        share.init(+Zepto(obj).data('mshare'));
    },
    opYq: function () {    //选择yq
        var that = this,
            _lookNum = that.lookNum;
        if(typeof _lookNum =='undefined'){
            _lookNum = 0;
        }
        posters(that.title,that.url,_lookNum,1);
    },
    opCt: function () {    //选择ct
        Zepto.alert('你选择了生成长图')
    },
    config : function(args) {
        dealUrl(args);
        Zepto.extend(this, args);
    },
    addShareTips: function(){
        var prompt = Zepto("#prompt");
        if(prompt==null||prompt==undefined||prompt.length==0){
            var html = '<section id="prompt" style="display: none;">' +
                '    <div class="prompt_bg"></div>' +
                '    <div class="shareArrow"><em class="arrow-right-top"></em></div>' +
                '    <div class="sharePrompt">' +
                '        <p>点击右上角，分享给朋友/群聊</p>' +
                '    </div>' +
                '</section>' +
                '' +
                '<section id="prompt1" style="display: none;">' +
                '    <div class="prompt_bg"></div>' +
                '    <div class="sharePrompt">' +
                '        <p>浏览器暂不支持，请到微信中分享</p>' +
                '    </div>' +
                '</section>';
            Zepto('body').append(html);
        }
    },
    initialWeChatShare:function (shareData){

        wxShare(shareData);
    }
};

//微信分享
function initializeWxShare(shareData) {
    dealUrl(shareData);
    wxShare(shareData);
}

//处理分享链接
function dealUrl(args){

    if (!args.url) {
        args.url = window.location.href;
    }
    args.url = args.url.split('#')[0];
    if (args.url.indexOf("shareKey=") != -1) {
        args.url = args.url.replace(/shareKey=[a-z0-9]*[\&]/g, '');
    }
    /*if(SHARE_KEY!=null&&SHARE_KEY!=''&&SHARE_KEY!=undefined){
        if (args.url.indexOf('?') == -1) {
            args.url = args.url + '?shareKey=' + SHARE_KEY;
        } else if (args.url.indexOf('?') == args.url.length) {
            args.url = args.url + 'shareKey=' + SHARE_KEY;
        } else {
            args.url = args.url + '&shareKey=' + SHARE_KEY;
        }
    }*/
}

//微信分享
function wxShare(shareData){
    Zepto.ajax({
        url: baseloaction +'/mobile/share/WeChatSignature',
        type:'post',
        dataType:'json',
        data:{
            "url":location.href
        },
        success:function (result) {
            if(result.success){
                var entity = result.entity;
                if (entity.signature != null) {
                    // 配置
                    wx.config({
                        debug: false,   // 测试阶段，可以写为true，主要是为了测试是否配置成功
                        appId: entity.appId,
                        timestamp: entity.timestamp,
                        nonceStr: entity.nonceStr,
                        signature: entity.signature,
                        //onMenuShareTimeline 分享到朋友圈
                        //onMenuShareAppMessage 分享给朋友
                        jsApiList: ['updateAppMessageShareData','updateTimelineShareData']
                    });
                    wx.ready(function() {
                        //“分享给朋友”按钮的分享内容
                        wx.onMenuShareAppMessage({
                            title: shareData.title, // 分享标题
                            desc: shareData.desc, // 分享描述
                            link: shareData.url, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                            imgUrl: shareData.img, // 分享图标
                            success: function () {

                            },
                            fail:function (res) {
                                console.dir(res);
                            }
                        });
                        //“分享到朋友圈”按钮的分享内容
                        wx.updateTimelineShareData({
                            title: shareData.title, // 分享标题
                            link: shareData.url, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                            imgUrl: shareData.img, // 分享图标
                            success: function () {

                            },
                            fail:function (res) {
                                console.dir(res);
                            }
                        });
                        wx.error(function(res) {
                            console.dir(res);
                            console.log(res.errMsg);
                        });
                    });
                }else{
                    console.log('微信暂时无法进行分享');
                }

            }else{
                console.log('微信暂时无法进行分享');
            }

        },
        error:function (error) {
            Zepto.toast('系统错误');
        }
    });
}


//检查是不是分享出去的页面是的话对当前页面添加一个悬浮按钮
function checkSharedPage(){
    var str =location.search;
    var num=str.indexOf("?")
    str=str.substr(num+1);
    var arr=str.split("&");
    var isFromCode = arr[1];
    if( GetQueryString("shareKey")!=null || GetQueryString("from")!=null || isFromCode == "isFromCode"){
        Zepto("a.goBack").remove();
        Zepto("a.goBackTo").remove();

        Zepto('body').append(' <a href="/mobile/index"' +
            ' style="' +
            '  left: 80%;' +
            '  top: 80%;z-index: 10000;" ' +
            'class="floating-button color-pink" id="floating_home">\n' +
            '        <i class="icon icon-home"></i>\n' +
            '    </a>');


        var _x_start,_y_start,_x_move,_y_move,_x_end,_y_end,left_start,top_start;
        //按下
        document.getElementById("floating_home").addEventListener("touchstart",function(e)
        {
            _x_start=e.touches[0].pageX;//起始点击位置
            _y_start=e.touches[0].pageY;//起始点击位置
            left_start=Zepto("#floating_home").css("left");//元素左边距
            top_start=Zepto("#floating_home").css("top");//元素上边距
        });
        //移动
        document.getElementById("floating_home").addEventListener("touchmove",function(e)
        {
            e.preventDefault();//取消事件的默认动作。
            _x_move=e.touches[0].pageX;//当前屏幕上所有触摸点的集合列表
            _y_move=e.touches[0].pageY;//当前屏幕上所有触摸点的集合列表
            //左边距=当前触摸点-鼠标起始点击位置+起始左边距
            Zepto("#floating_home").css("left",parseFloat(_x_move)-parseFloat(_x_start)+parseFloat(left_start)+"px");
            //上边距=当前触摸点-鼠标起始点击位置+起始上边距
            Zepto("#floating_home").css("top",parseFloat(_y_move)-parseFloat(_y_start)+parseFloat(top_start)+"px");
        });
        //松开
        document.getElementById("floating_home").addEventListener("touchend",function(e)
        {

            var bodyW=Zepto(window).width()/2;//屏幕宽的一半
            var bodyH=Zepto(window).height();//屏幕高
            var _x_end=e.changedTouches[0].pageX;//松开位置
            var _y_end=e.changedTouches[0].pageY;//松开位置
            var divH= Zepto("#floating_home").height();//元素高
            var divW= Zepto("#floating_home").width();//元素宽
            //当最终位置在屏幕左半部分
            if(_x_end<bodyW){
                Zepto("#floating_home").css("left","0px");
            }else if(_x_end>=bodyW){//当最终位置在屏幕左半部分
                Zepto("#floating_home").css("left",Zepto(window).width()-parseFloat(divW))
            }
            //当元素顶部在屏幕外时
            if(parseFloat($("#floating_home").css("top"))<0){
                //置于顶部
                $("#floating_home").css("top",0);//置于顶部
            }
            //当元素底部在屏幕外时
            if(bodyH-_y_end<parseFloat(divH)/2){
                //置于底部
                $("#floating_home").css("top",bodyH-parseFloat(divH))
            }
        });
    }
}
//获取当前地址栏的参数
function GetQueryString(name)
{
    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if(r!=null)return  unescape(r[2]); return null;
}


function   posters(title,url,_lookNum,type){

    $.ajax({
        url: baseloaction +'/admin/shortLink/getShortLink',
        type:'post',
        data:{
            'longUrl':url
        },
        dataType:'json',
        async:false,
        success: function(result) {
            if(result.success) {
                var dUrl = result.entity
                _setSessionStorage('shareTitle', title);
                _setSessionStorage('lookNum', _lookNum);
                _setSessionStorage('oldUrl', dUrl);
                _setSessionStorage('type', type);
            } else {
                console.info(result.message || "暂无法跳转分享海报，请稍后再试");
                return
            }
        },
        error: function(error){
            console.info("暂无法跳转分享海报，请稍后再试" || error);
            return
        }
    });
    var loginStatus = isLoginStatus();
    if(loginStatus==true){
        //跳转分享海报
        window.location.href = '/mobile/uc/marketing/baseShare';
    }else{
        $.alert('登录后才可分享海报',function () {
            window.location.href = '/mobile/uc/marketing/baseShare';
        });
    }



}